package com.easybuilder.core.rbac.service;

import com.easybuilder.common.base.entity.BaseEntity;
import com.easybuilder.common.base.entity.PageQueryWrapper;
import com.easybuilder.common.base.entity.PageResultWrapper;
import com.easybuilder.core.rbac.dto.SysUserDTO;
import com.easybuilder.core.rbac.entity.SysUser;
import org.springframework.security.core.userdetails.UserDetailsService;

import java.util.List;

/**
 * @author ZXS
 * @version 1.0
 * @description 接口
 * @date 2021-5-25 22:51
 */
public interface SysUserService extends UserDetailsService {

    PageResultWrapper<SysUser> page(PageQueryWrapper<SysUser> queryWrapper);

    Long insert(BaseEntity entity);

    /** 根据用户id集合，批量获取用户 */
    List<SysUser> selectByUserIds(List<Long> userIds);

    /** 插入单条记录 */
    int insert(SysUser sysUser);

    List<Integer> countUser();

    SysUser getUserById(Long createUserId);

    SysUserDTO getCurrentUserInfo();

    void save(SysUser sysUser);

    void deleteById(Long id);
}
